package com.tcm.service;

import com.tcm.entity.Comment;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tcm.entity.dto.CommentUpdateDto;
import com.tcm.entity.resp.PageR;
import com.tcm.entity.vo.CommentListResp;
import com.tcm.entity.vo.CommentListResult;

import java.util.List;

/**
* @author Guqier
* @description 针对表【ts_comment(题目评论表)】的数据库操作Service
* @createDate 2023-09-09 20:32:29
*/
public interface CommentService extends IService<Comment> {

    boolean addComment(CommentUpdateDto dto, Long currUserId);

    boolean removeCommentByStu(Long id, Long currUserId);

    List<CommentListResp> getCommentList(Long itemId, Long currUserId);

    /**
     * 分页获取评论区列表
     * @param page 当前页号
     * @param pageSize 页面大小
     * @param content 检索评论内容
     * @param account 检索账号
     * @param itemIds 检索题目ID
     * @return 评论区列表
     */
    PageR<CommentListResult> getCommentListByPage(Integer page, Integer pageSize, String content, String account, List<Long> itemIds);

    /**
     * 管理端删除评论
     * @param id 评论ID
     * @return 删除结果
     */
    boolean removeComment(Long id);
}
